
# list1 = ( f'第{i}口罩' for i in range(1,1001))
# # print (list1.__next__())
# # print (list1.__next__())
# # print (list1.__next__())
# # print (list1.__next__())
# for i in range(1005):
#     print (list1.__next__())


def mask():
    #yield 1\功能跟return 有点像，可以返回一个值 2\可以挂起程序（暂停），并且记住运行的位置，下一次next（）会从上一次暂停的位置继续向下执行代码，知道遇到下一个yield
    # yield '第一个口罩'
    # yield '第二个口罩'
    # yield '第三个口罩'
    for i in range(1,101):
        # print(f'第{i}口罩')
        time = yield f'第{i}口罩'
        print(f'第{i}口罩使用了'+time)

ret = mask()  #ret 就是使用生成器函数返回的一个生成器
# print(ret.__next__())
# print(ret.__next__())
# print(ret.__next__())
# for i in range(1,11):
#     print(ret.__next__())
print (next (ret))
# send()是生成器特有的方法  .send(val)

print (ret.send ('5个小时'))
print (ret.send ('10个小时'))